1. Field of the Invention
The present invention relates generally to computer-implemented drawing applications, and in particular, to a method, apparatus, and article of manufacture for placing and utilizing objects and content in a computer-implemented drawing program based on semantics and behavioral attributes.
2. Description of the Related Art
For computer-aided design (CAD) applications (e.g., home remodeling/interior design applications), adding content to a floor plan, layout, elevation or other large design project can be problematic. Such content addition often involves an external reference, importing, scaling, positioning and manually moving the object until the position is right. Often the object being added to a scene, whether it's a window, or a chair is usually closely associated with other objects already present in the scene. If objects had some kind of pre-determined intelligence with respect to other objects in a scene, placement, scale and position could be done automatically. Accordingly, there exists a need for some intelligence associated with objects and to a certain extent blocks in a scene. These problems may be better understood with a description of prior art object placement and existing mechanisms for defining and creating user interfaces.
An example of the addition of an object in a CAD environment is that of a user creating a simple office layout. Once the basic floor plan is complete, the user may desire to add a door, desk, chair, bookcase and computer to the scene. To add such objects, the user must perform the following series of steps:
(a) User locates a desk and imports it;
(b) User positions desk correctly in the scene (provided the user can view it once imported);
(c) User scales desk correctly for the proportions of the office space;
(d) User imports a chair;
(e) User positions the chair according to the desk position; etc.
(f) User scales the chair accordingly;
. . . (g) etc. with other objects.
As described above, if the objects have some kind of pre-determined intelligence with respect to other objects, placement, scale and position could be performed automatically. In the above example, if the desk had intelligence that it should be adjacent a wall or the proper scale value, the user would not need to manually position or scale the desk. Similarly, if the chair had pre-determined knowledge regarding placement based on the desk position and the size of the chair (via scaling), the user would not have to perform the manual steps recited above.
In another example, if window added to a scene knew that it had to be within a relative proximity to a desk and knew what scale it was to be when imported, considerable time could be saved during normal workflow. Similarly, if a chair had some intelligence about a scene and knew that it had to have a desk within a certain proximity, orientation and scale, considerable time would be saved in these operations.
Accordingly, there is a need for some intelligence in objects when they are added to a scene. Further, there is a need for a user to be able to create and use such intelligence in an efficient and understandable manner.
In addition to the above, the user must have the ability to easily understand and work with such intelligence both on a specific computer and across a network. Prior art methodologies exist that attempt to represent information about resources on the Internet in an easily understandable language. For example, the Resource Description Framework (RDF™) available from the W3C™ organization. RDF™ is a language hat represents metadata about Web resources, such as the title, author, and modification date of a Web page, copyright and licensing information about a Web document, or the availability for some shared research. In addition, RDF™ can be used to represent information about things that can be identified on the Web, even when they cannot be directly retrieved on the Web (e.g., information about items available from on-line shopping facilities or the description of a Web user's preferences for information delivery.
Semantic Web™ is an extension of the Internet in which the semantics of information and services on the web is defined, making it possible for the web to understand and satisfy the requests of people and machines to use web content. Elements of Semantic Web™ are expressed in formal specifications including RDF™.
In view of the above, Semantic Web™ and RDF™ may be used to assist a user in defining and utilizing web content by establishing objects and relationships between such objects that are based on a semantic document. However, the ability to describe and utilize semantics to create and define a user interface that can be used to place objects in a computer aided drawing in an intelligent manner is lacking from the prior art.